#include "MicroMenu.h"

MicroMenu::MicroMenu(){};

SDL_bool MicroMenu::init(void)
{
    //inicialização dos objetos
    if (!mVideo.inicializa())
        return SDL_FALSE;
    if (!mTexto.inicializa(320, "data/Liberation/LiberationMono-Bold.ttf", 14))//(largura da coluna para quebra de linha, fonte, tamanho fonte)
        return SDL_FALSE;
    //inicialização das propriedades
    mFim = SDL_FALSE;

    return SDL_TRUE;
}


void MicroMenu::ciclo(void)
{
    Uint8 selecao = 1;
    
    while (!mFim)
    {
	while(SDL_PollEvent(&mEvento)) //enquanto existir evento
        {
            if( mEvento.type == SDL_KEYDOWN )
            { //verifica se um botão foi pressionado
                switch( mEvento.key.keysym.sym )
                {
                    //por enquanto não faz nada
                    case SDLK_LEFT:  ;
			break;
                    case SDLK_RIGHT:  ;
			break;
                    case SDLK_UP: if(selecao > 1) selecao--  ;
			break;
                    case SDLK_DOWN: if(selecao < 4) selecao++ ;
			break;
                    case SDLK_ESCAPE: printf("FIM\n"); //sai se select for pressionado
			mFim = SDL_TRUE;
			break;
                }
            }
        }
		
        mTexto.escreve("Primeiro Aplicativo"); //texto a ser exibido
        (selecao == 1) ? mTexto.exibe(5, 5, mVideo.retornaTela(), 0xFF,0xFF,0xFF): mTexto.exibe(5, 5, mVideo.retornaTela(), 0xFF,0x00,0xFF);
        mTexto.escreve("Segundo Aplicativo");
        (selecao == 2) ? mTexto.exibe(5, 20, mVideo.retornaTela(), 0xFF,0xFF,0xFF): mTexto.exibe(5, 20, mVideo.retornaTela(), 0xFF,0x00,0xFF);
        mTexto.escreve("Terceiro Aplicativo");
        (selecao == 3) ? mTexto.exibe(5, 35, mVideo.retornaTela(), 0xFF,0xFF,0xFF): mTexto.exibe(5, 35, mVideo.retornaTela(), 0xFF,0x00,0xFF);
        mTexto.escreve("Quarto Aplicativo");
        (selecao == 4) ? mTexto.exibe(5, 50, mVideo.retornaTela(), 0xFF,0xFF,0xFF): mTexto.exibe(5, 50, mVideo.retornaTela(), 0xFF,0x00,0xFF);

	//novo texto com fonte diferente	
	Texto texto;
	texto.inicializa(320, "data/Liberation/LiberationMono-BoldItalic.ttf", 35);
	texto.escreve("Olha que beleza Italica!");
	texto.exibe(5, 70, mVideo.retornaTela(), 255,255,100);

        SDL_Flip(mVideo.retornaTela()); //atualiza a tela
	SDL_Delay(100); //apenas para o processador "descansar"
		
    }
	   	    
}

MicroMenu::~MicroMenu()
{
    SDL_Quit(); //finaliza a SDL
}
